const ModalDialog = imports.ui.modalDialog;
const PanelMenu = imports.ui.panelMenu;
const Tweener = imports.ui.tweener;
-const UserMenu = imports.ui.userMenu;
const UserWidget = imports.ui.userWidget;
const _FADE_ANIMATION_TIME = 0.25;
x_align: St.Align.START,
x_fill: true });
- this._userAvatar = new UserMenu.UserAvatarWidget(this.user,
- { styleClass: 'login-dialog-user-list-item-icon' });
+ this._userAvatar = new UserWidget.Avatar(this.user,
+ { styleClass: 'login-dialog-user-list-item-icon' });
layout.add(this._userAvatar.actor);
let textLayout = new St.BoxLayout({ style_class: 'login-dialog-user-list-item-text-box',
vertical: true });
const Components = imports.ui.components;
const ModalDialog = imports.ui.modalDialog;
const ShellEntry = imports.ui.shellEntry;
-const UserMenu = imports.ui.userMenu;
+const UserWidget = imports.ui.userWidget;
const DIALOG_ICON_SIZE = 48;
let userBox = new St.BoxLayout({ style_class: 'polkit-dialog-user-layout',
vertical: false });
messageBox.add(userBox);
- this._userAvatar = new UserMenu.UserAvatarWidget(this._user,
- { iconSize: DIALOG_ICON_SIZE,
- styleClass: 'polkit-dialog-user-icon' });
+ this._userAvatar = new UserWidget.Avatar(this._user,
+ { iconSize: DIALOG_ICON_SIZE,
+ styleClass: 'polkit-dialog-user-icon' });
this._userAvatar.actor.hide();
userBox.add(this._userAvatar.actor,
{ x_fill: true,
const Main = imports.ui.main;
const ModalDialog = imports.ui.modalDialog;
const Tweener = imports.ui.tweener;
-const UserMenu = imports.ui.userMenu;
+const UserWidget = imports.ui.userWidget;
let _endSessionDialog = null;
icon_size: _DIALOG_ICON_SIZE,
style_class: dialogContent.iconStyleClass });
} else {
- let avatarWidget = new UserMenu.UserAvatarWidget(this._user,
- { iconSize: _DIALOG_ICON_SIZE,
- styleClass: dialogContent.iconStyleClass });
+ let avatarWidget = new UserWidget.Avatar(this._user,
+ { iconSize: _DIALOG_ICON_SIZE,
+ styleClass: dialogContent.iconStyleClass });
this._iconBin.child = avatarWidget.actor;
avatarWidget.update();
}
const Panel = imports.ui.panel;
const ShellEntry = imports.ui.shellEntry;
const Tweener = imports.ui.tweener;
-const UserMenu = imports.ui.userMenu;
const UserWidget = imports.ui.userWidget;
const Batch = imports.gdm.batch;
const ModalDialog = imports.ui.modalDialog;
const PanelMenu = imports.ui.panelMenu;
const PopupMenu = imports.ui.popupMenu;
-const Params = imports.misc.params;
const Util = imports.misc.util;
+const UserWidget = imports.ui.userWidget;
const LOCKDOWN_SCHEMA = 'org.gnome.desktop.lockdown';
const SCREENSAVER_SCHEMA = 'org.gnome.desktop.screensaver';
const ALWAYS_SHOW_LOG_OUT_KEY = 'always-show-log-out';
const SHOW_FULL_NAME_IN_TOP_BAR_KEY = 'show-full-name-in-top-bar';
-const DIALOG_ICON_SIZE = 64;
-
const MAX_USERS_IN_SESSION_DIALOG = 5;
const IMStatus = {
const SystemdLoginSession = Gio.DBusProxy.makeProxyWrapper(SystemdLoginSessionIface);
-// Adapted from gdm/gui/user-switch-applet/applet.c
-//
-// Copyright (C) 2004-2005 James M. Cape <jcape@ignore-your.tv>.
-// Copyright (C) 2008,2009 Red Hat, Inc.
-
-const UserAvatarWidget = new Lang.Class({
- Name: 'UserAvatarWidget',
-
- _init: function(user, params) {
- this._user = user;
- params = Params.parse(params, { reactive: false,
- iconSize: DIALOG_ICON_SIZE,
- styleClass: 'status-chooser-user-icon' });
- this._iconSize = params.iconSize;
-
- this.actor = new St.Bin({ style_class: params.styleClass,
- track_hover: params.reactive,
- reactive: params.reactive });
- },
-
- setSensitive: function(sensitive) {
- this.actor.can_focus = sensitive;
- this.actor.reactive = sensitive;
- },
-
- update: function() {
- let iconFile = this._user.get_icon_file();
- if (iconFile && !GLib.file_test(iconFile, GLib.FileTest.EXISTS))
- iconFile = null;
-
- if (iconFile) {
- let file = Gio.File.new_for_path(iconFile);
- this.actor.child = null;
- this.actor.style = 'background-image: url("%s");'.format(iconFile);
- } else {
- this.actor.style = null;
- this.actor.child = new St.Icon({ icon_name: 'avatar-default-symbolic',
- icon_size: this._iconSize });
- }
- }
-});
-
const IMStatusItem = new Lang.Class({
Name: 'IMStatusItem',
Extends: PopupMenu.PopupBaseMenuItem,
this._userManager = AccountsService.UserManager.get_default();
this._user = this._userManager.get_user(GLib.get_user_name());
- this._avatar = new UserAvatarWidget(this._user, { reactive: true });
+ this._avatar = new UserWidget.Avatar(this._user, { reactive: true });
this._iconBin = new St.Button({ child: this._avatar.actor });
this.addActor(this._iconBin);
let session = sessions[i];
let userEntry = new St.BoxLayout({ style_class: 'login-dialog-user-list-item',
vertical: false });
- let avatar = new UserAvatarWidget(session.user);
+ let avatar = new UserWidget.Avatar(session.user);
avatar.update();
userEntry.add(avatar.actor);
//
// A widget showing the user avatar and name
const AccountsService = imports.gi.AccountsService;
+const GLib = imports.gi.GLib;
+const Gio = imports.gi.Gio;
const Lang = imports.lang;
const St = imports.gi.St;
-const UserMenu = imports.ui.userMenu;
+const Params = imports.misc.params;
+
+const AVATAR_ICON_SIZE = 64;
+
+// Adapted from gdm/gui/user-switch-applet/applet.c
+//
+// Copyright (C) 2004-2005 James M. Cape <jcape@ignore-your.tv>.
+// Copyright (C) 2008,2009 Red Hat, Inc.
+
+const Avatar = new Lang.Class({
+ Name: 'Avatar',
+
+ _init: function(user, params) {
+ this._user = user;
+ params = Params.parse(params, { reactive: false,
+ iconSize: AVATAR_ICON_SIZE,
+ styleClass: 'status-chooser-user-icon' });
+ this._iconSize = params.iconSize;
+
+ this.actor = new St.Bin({ style_class: params.styleClass,
+ track_hover: params.reactive,
+ reactive: params.reactive });
+ },
+
+ setSensitive: function(sensitive) {
+ this.actor.can_focus = sensitive;
+ this.actor.reactive = sensitive;
+ },
+
+ update: function() {
+ let iconFile = this._user.get_icon_file();
+ if (iconFile && !GLib.file_test(iconFile, GLib.FileTest.EXISTS))
+ iconFile = null;
+
+ if (iconFile) {
+ let file = Gio.File.new_for_path(iconFile);
+ this.actor.child = null;
+ this.actor.style = 'background-image: url("%s");'.format(iconFile);
+ } else {
+ this.actor.style = null;
+ this.actor.child = new St.Icon({ icon_name: 'avatar-default-symbolic',
+ icon_size: this._iconSize });
+ }
+ }
+});
const UserWidget = new Lang.Class({
Name: 'UserWidget',
vertical: false });
this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
- this._avatar = new UserMenu.UserAvatarWidget(user);
+ this._avatar = new Avatar(user);
this.actor.add(this._avatar.actor,
{ x_fill: true, y_fill: true });